<?
include("comun/ini.php");
$xml = new DomDocument();
switch ($_REQUEST['combo']){
	case "catpro":
		$fila = $_GET['fila'];
		$fila = empty($fila) ? "0" : $fila;
		if(empty($_GET['escenario'])){
			$cCategorias = categorias_programaticas::get_all_by_ue($conn, $_GET['ue'], $escEnEje);
			$onchange = 'traeParPreDesdeUpdater(this.value, '.$fila.')';
			$nombre = 'categorias_programaticas[]';
		}else{
			$cCategorias = categorias_programaticas::get_all_by_esc($conn, $_GET['escenario']);
			$onchange = "traeParPreDesdeUpdater(this.value, $('id_escenario').value)";
			$nombre = 'categorias_programaticas';
		}
		$nodoSelect = helpers::xmlCombo($cCategorias, 
																$id_seleccionado='', 
																$nombre, 
																$id='categorias_programaticas_'.$fila, 
																$style='',
																$onchange);
		// importamos el nodo select
		$nodoSelectImp = $xml->importNode($nodoSelect, true);
		echo($xml->saveXML($nodoSelectImp));
		break;
	case "tipdoc":
		$mp = $_GET['mp'];
		$nombre = $_GET['nombre'];
		if($nombre == 'tipdoc')
			$onchange = "setNroDoc();";
		else{
			$onchange = "traeNroRefDesdeXML($('unidades_ejecutoras').value, $('proveedores').value, this.value)";
			// en caso de que el tipo de movimiento sea aumento, en el tipo de ref debe salir "No referenciado"
			$mp = ($mp == 4) ? "1" : $mp; 
			$mp--;
		}
		$cTiposDocs = tipos_documentos::get_all_by_mp($conn, $mp);
		$nodoSelect = helpers::xmlCombo($cTiposDocs, 
																$id_seleccionado='', 
																$nombre, 
																$nombre, 
																$style='',
																$onchange,
																$descValor = 'id',
																$descDescripcion = 'descripcion',
																$union=true);
		// importamos el nodo select
		$nodoSelectImp = $xml->importNode($nodoSelect, true);
		echo($xml->saveXML($nodoSelectImp));
		break;
	case "parpre":
		$cont = empty($_GET['cont']) ? "0" : $_GET['cont'];
		if(empty($_GET['escenario'])){
			$cPartidas = partidas_presupuestarias::get_all_by_cp($conn, $_GET['cp'], $escEnEje);
			$onchange = "traeParCatDesdeXML($('categorias_programaticas_$cont').value, this.value, this.id)";
			$nombre = 'partidas_presupuestarias[]';
		}else{
			$cPartidas = partidas_presupuestarias::get_all_by_cp($conn, $_GET['cp'], $_GET['escenario']);
			$onchange = "";
			$nombre = 'partidas_presupuestarias';
		}
		$nodoSelect = helpers::xmlCombo($cPartidas, 
																$id_seleccionado='', 
																$nombre, 
																$id="partidas_presupuestarias_$cont", 
																$style='',
																$onchange);
		// importamos el nodo select
		$nodoSelectImp = $xml->importNode($nodoSelect, true);
		echo($xml->saveXML($nodoSelectImp));
		break;
	case "tipref":
		$status = $_GET['status'];
		$oMovimientos = new movimientos_presupuestarios();
		if($status == 5){
			$onchange = "chequeaMontos(this.value)";
			$cMovimientosAum = $oMovimientos->get_all_aumentos($conn);
			foreach($cMovimientosAum as $movAum){
				if(!$oMovimientos->has_referencia($conn, $movAum->nrodoc))
					$cMovimientos[] = $movAum;
			}
		}else{
			$cMovimientos = $oMovimientos->get_all_by_ue_status_prov_tipref($conn, $_GET['ue'], $status, $_GET['id_proveedor'], $_GET['tipref']);
			$onchange = "actualizaTablita(this.value)";
		}
		$nodoContenedor = $xml->createElement('div');
		$nodoContenedor->setAttribute('id', "cont_nroref");
		$nodoSelect = helpers::xmlCombo($cMovimientos, 
																$id_seleccionado='', 
																$nombre='nroref', 
																$id="nroref", 
																$style='',
																$onchange,
																$descValor = 'nrodoc',
																$descDescripcion = 'descripcion',
																$union=true,
																25);
		// importamos el nodo select
		$nodoSelectImp = $xml->importNode($nodoSelect, true);
		$nodoContenedor->appendChild($nodoSelectImp);
		echo($xml->saveXML($nodoContenedor));
		break;
	case "unidades":
		$oUnidades_ejecutoras = new unidades_ejecutoras();
		$cUnidades = $oUnidades_ejecutoras->get_all_by_esc($conn, $_GET['escenario']);
		$nodoSelect = helpers::xmlCombo($cUnidades, 
																$id_seleccionado='', 
																$nombre='unidades_ejecutoras', 
																$id="unidades_ejecutoras");
		// importamos el nodo select
		$nodoSelectImp = $xml->importNode($nodoSelect, true);
		echo($xml->saveXML($nodoSelectImp));
		break;
	case "catproPorEsc":
		$oCategoriasProgramaticas = new categorias_programaticas();
		$cCategorias = $oCategoriasProgramaticas->get_all_by_esc($conn, $_GET['escenario']);
		$nodoSelect = helpers::xmlCombo($cCategorias, 
																$id_seleccionado='', 
																$nombre='categorias_programaticas', 
																$id="categorias_programaticas");
		// importamos el nodo select
		$nodoSelectImp = $xml->importNode($nodoSelect, true);
		echo($xml->saveXML($nodoSelectImp));
		break;
	case "parprePorEsc":
		$cPartidas = partidas_presupuestarias::get_all_by_esc($conn, $_GET['escenario']);
		$onchange = "";
		$nombre = 'partidas_presupuestarias';
		$nodoSelect = helpers::xmlCombo($cPartidas, 
																$id_seleccionado='', 
																$nombre, 
																$id="partidas_presupuestarias_$cont", 
																$style='',
																$onchange);
		// importamos el nodo select
		$nodoSelectImp = $xml->importNode($nodoSelect, true);
		echo($xml->saveXML($nodoSelectImp));
		break;
	case "parpreNomina":
		$fila = empty($_GET['fila']) ? "0" : $_GET['fila'];
		$cPartidas = partidas_presupuestarias::getAllParpreNomina($conn, $_GET['cp'], $escEnEje);
		$onchange = "traeParCatDesdeXML($('categorias_programaticas_$fila').value, this.value, this.id)";
		$nombre = 'partidas_presupuestarias[]';
		$nodoSelect = helpers::xmlCombo($cPartidas, 
																$id_seleccionado='', 
																$nombre, 
																$id="partidas_presupuestarias_$fila", 
																$style='',
																$onchange);
		// importamos el nodo select
		$nodoSelectImp = $xml->importNode($nodoSelect, true);
		echo($xml->saveXML($nodoSelectImp));
		break;
	case "padreOperaciones":
		$id_modulo = $_GET['id_modulo'];
		$nodoSelect = helpers::xmlCombo(operaciones::getCarpetas($conn, $id_modulo), 
																$id_seleccionado='', 
																$nombre="padre", 
																$id="padre",
																'',
																'desactivaNivel1();');
		// importamos el nodo select
		$nodoSelectImp = $xml->importNode($nodoSelect, true);
		echo($xml->saveXML($nodoSelectImp));
		break;
}
?>